基本工作流程
基本语法概念
安装 FFMPEG 后,只需在终端上输入ffmpeg
即可运行该程序。 FFMPEG 的基本流程非常直观。看下面这个非常基本的例子。
获取.wav
格式的音频文件(例如:mysong.wav
)并将其转换为 Mp3 音频文件,因此创建一个名为mysong.mp3
的新文件。 假设文件mysong.wav
已经在当前工作目录中,输入如下命令:
ffmpeg -i mysong.wav mysong.mp3
-i
表示Input
。 此输入可以是计算机中的本地文件,也可以是来自远程 URL 的文件。
在输出文件末尾指定的文件扩展名将使 FFMPEG 自动选择 Mp3 格式,并为该类型的文件提供一些最佳选项。 但是如果同时处理许多视频或不同的音频文件可能比这更复杂一些。 可能希望为该 mp3 输出选择特定的比特率,或者您的WAV 文件可能需要在转换发生之前进行预处理,例如使用标准响度归一化滤波器:
ffmpeg -i mysong.wav -af loudnorm -c:a mp3 -b:a 256k -ar 48000 mysong.mp3
这将采用相同的原始文件,但这次它将对其进行处理,然后将其转换为 mp3 文件:
ffmpeg -i mysong.wav
:将处理输入文件mysong.wav
-af loudnorm
:将应用Audio Filter Loudnorm
,它将 执行标准音频响度归一化
-c:a mp3
:表示Codec Audio mp3
。 此选项将指定我们要导出 mp3 文件
-b:a 256k
:表示Bitrate of the Audio
,将生成一个比特率为256 Kbit/s的音频文件
-ar 48000
:表示Audio Rate
。 此选项将进一步指定我们要创建具有特定音频采样率(在本例中为 48000 KHz)的输出文件。
相同的语法结构适用于视频文件。 举个例子:Apple ProRes 文件master.mov
必须转换为h264:
ffmpeg -i master.mov master.mp4
输出文件上使用的扩展名将触发 FFMPEG 的几个默认选项,以便在 mp4 容器中生成高质量的 h264 文件。 但是我们可能想要一个更小的文件或一个特定的音频选项,或者可能需要从5.1音轨进行立体声缩混,或者我们可能想对一个3个小时的URL视频仅处理和输出其前2分30秒 :
ffmpeg -i https://www.dropbox.com/master.mov -t 00:02:30 -c:v h264 -b:v 3M -c:a aac -b:a 128k -ar 44100 -ac 2 master.mp4
-i
:表示Input
-t
:表示仅处理该指定时间段的数据
-c:v
:表示Codec Video
-b:v
:表示Video Bitrate
,即每秒所需的视 频数据量,以兆比特(Megabit)表示
-c:a
:表示Audio Codec
-b:a
:表示Audio Bitrate
,即每秒所需的音频数据量,以千比特(kilobit)表示
-ar
:表示Audio Rate
,也称为采样率(Sampling Rate)。样本是在该音轨中对某个特定时间的测量,快照(Snapshot)。例如用1和0的二进制语言描述。 每秒重复该测量数万次; 采集快照的频率表示采样率或采样频率,以千赫兹(kiloHertz)为单位,单位表示每秒1000 次。 例如,音频 CD 的采样率为 44.1kHz,这意味着每秒对模拟信号进行44100次采样。
-ac 2
:表示2 Audio Channels (Left+Right)
。当必须对包含多个音轨的音频文件进行混音(down-mix)时,例如Dolby Surround 5.1/7.1或其它类似音轨,那么此选项将很有用,